package com.tcoiss.webservice.domain.invoice;

import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 电子发票(开票)
 * 发票头
 * @author zsh
 */
@Data
public class DzInvoiceHeaderVo {

    /** 发票流水号 */
    private String fpseq;

    /** 购方名称 */
    private String buyername;

    /** 购方税号 */
    private String taxnum;

    /** 购方手机（开票 成功会短信提醒购方） */
    private String phone;

    /** 购方地址(N) */
    private String address;

    /** 购方银行账号(企业要填) */
    private String account;

    /** 购方电话(N) */
    private String telephone;

    /** 订单号(*每个企业唯一) */
    private String orderno;

    /** 开票时间(yyyy-MM-dd HH:mm:ss) */
    private String invoicedate;

    /** 开票员 */
    private String clerk;

    /** 销方银行账号(N) */
    private String saleaccount;

    /** 销方电话(N) */
    private String salerphone;

    /** 销方地址(N) */
    private String saleaddres;

    /** 销方税号 */
    private String saletaxnum;

    /** 开票类型:1,正 票;2,红票 */
    private String kptype;

    /**  备注 : 冲红时，必须在 备注中注明“对 应正数发票代码:XXXXXXXXX号码:YYYYYYYY”
     * 文案，其中“X” 为发票代码，“Y”为发票号 码，否则接口会 自动添加该文案（） */
    private String message;

    /** 收款人(N) */
    private String payee;

    /** 复核人 */
    private String checker;

    /** 对应蓝票发票代码：红票必填，不满 12 位请左补 0 */
    private String fpdm;

    /** 对应蓝票发票号码：红票必填，不满 8 位请左补 0  */
    private String fphm;

    /** 推送方式(N) */
    private String tsfs;

    /** 推送邮箱:tsfs 为 0 或 2时，此项为必填 */
    private String email;

    /** 清单标志:默认为 0。卷票 r 不支持清单。 */
    private String qdbz;

    /** 清单项目名称: qdbz 为 1是，此 项为必填 */
    private String qdxmmc;

    /** 代开标志:默认为 0 */
    private String dkbz;

    /** 部门门店 id (N) */
    private String deptid;

    /** 开票员 id (N) */
    private String clerkid;

    /** 发票种类 : 默认为电票p。 卷票 r 只支持 13 行明细 */
    private String invoiceLine;

    /** 成品油标志:默认为 0 非成品油 */
    private String cpybz;

    /** 红字信息表编号 : 专票冲红时，此 项必填。
     * 且必须在备注中注明“开具红字增值税专用发票信息表编号红字信息表编号 16ZZZZZZZZZZZZZZZZ”字样，
     * 其中“Z”为开具红字增值税专用发票所需要的长度为 16位 信息表编号。*/
    private String billInfoNo;

    /** 发票明细 */
    private List<DzInvoiceFpmxVo> detail;
}
